[Xamarin] 設定値保存を Settings Plugin から Xamarin.Essentials に移行してみた
Xamarin製アプリで設定値を保存する方法について、「SettingsPlugin」から「Xamarin.Essentials」に移行してみました。
Xamarin製アプリで設定値を保存するとき、下記のライブラリにお世話になっています。
ふと設定値保存の機能をXamarin.Essentialsに移行できる事に気づいたので、実際に移行してみました。 設定値も引き継がれます。
Xamarin.EssentialsのPreferencesに移行する
既存プロジェクトにXamarin.Essentialsを導入(更新)する
Xamarin.Essentialsを導入(or 更新)します。
設定箇所のコードを修正する
変更前のコード
SettingsPluginを使用しているコードです。
using System.Dynamic; using Plugin.Settings; using Plugin.Settings.Abstractions; namespace Sample.Models { public static class Settings { private static ISettings AppSettings => CrossSettings.Current; public static bool FooEnable { get => AppSettings.GetValueOrDefault(nameof(FooEnable), false); set => AppSettings.AddOrUpdateValue(nameof(FooEnable), value); } public static string BarText { get => AppSettings.GetValueOrDefault(nameof(BarText), "xxxx"); set => AppSettings.AddOrUpdateValue(nameof(BarText), value); } } }
変更後のコード
Xamarin.Essentialsを使用するように変更したコードです。
using Xamarin.Essentials; namespace Sample.Models { public static class Settings { public static bool FooEnable { get => Preferences.Get(nameof(FooEnable), false); set => Preferences.Set(nameof(FooEnable), value); } public static string BarText { get => Preferences.Get(nameof(BarText), "xxxx"); set => Preferences.Set(nameof(BarText), value); } } }
上記のコードの場合、単純な置換作業でOKでした。
変更前 | 変更後 |
---|---|
AppSettings | Preferences |
GetValueOrDefault | Get |
AddOrUpdateValue | Set |
使用箇所は変更不要
上記コードを使用している部分(設定を参照する・変更する)は、変更不要です。
# Set sample Settings.FooEnable = true; # Get sample return Settings.FooEnable;
SettingsPluginを削除
最後に今まで使っていたSettingsPluginを削除します。ありがとうございました!
さいごに
思っていたよりもすんなりと移行できて良かったです。